package com.ms.demo.cglibproxy;

import net.sf.cglib.proxy.Enhancer;


public class TestMain {

    public static void main(String[] args) {

        // 通过CGLIB动态代理获取代理对象的过程
        RealImage target = new RealImage();
        //可以通过Enhancer对象中的create()方法可以去生成一个类，用于生成代理对象
        Enhancer enhancer = new Enhancer();
        //设置父类(将目标类作为代理类的父类)
        enhancer.setSuperclass(RealImage.class);
        //设置拦截器(回调对象为本身对象)
        enhancer.setCallback(new ImageInterceptor(target));
        //生成一个代理类对象并返回给调用着
        RealImage imageProxy= (RealImage)enhancer.create();
        //RealImage imageProxy= (RealImage)enhancer.create(new Class[]{String.class},new Object[]{"test_10mb.jpg"});
        imageProxy.display();
    }
}